// VBDomErrorReporter.h

#include "VBXML/VBXML_common.h" 


namespace br {
namespace com {
namespace sbVB {
namespace VBXML {

class VBXML_DLL_API VBDomErrorReporter : public xercesc::ErrorHandler
{

	br::com::sbVB::VBLib::VBString 
		composeMessage(const char *message,const xercesc::SAXParseException& toCatch);
	bool m_reportErrorsOnConsole;
	bool m_generateExceptionOnError;
public:
	
	void setReportErrorsOnConsole(bool b);
	bool getReportErrorsOnConsole();
	void setGenerateExceptionOnError(bool b);
	bool getGenerateExceptionOnError();
	
	VBDomErrorReporter();
	
	// methods that must be defined for xerces error reporter
	void warning    (const xercesc::SAXParseException& toCatch);
	void error      (const xercesc::SAXParseException& toCatch);
	void fatalError (const xercesc::SAXParseException& toCatch);
	void handleError(const xercesc::SAXParseException& toCatch);
	void resetErrors();
};



}}}} // end of namespace ::br::com::sbVB::VBXML
